import os  
import shutil  
  
def replace_text_in_files(src_dir, dst_dir, replace_from, replace_to):  
    # 如果目标目录不存在，则创建它  
    if not os.path.exists(dst_dir):  
        os.makedirs(dst_dir)  
  
    # 遍历源目录  
    for root, dirs, files in os.walk(src_dir):  
        # 构建目标目录的路径  
        dst_root = root.replace(src_dir, dst_dir, 1)  
          
        # 如果目标子目录不存在，则创建它  
        if not os.path.exists(dst_root):  
            os.makedirs(dst_root)  
  
        # 遍历文件  
        for file in files:  
            # 构建文件的完整路径  
            src_file = os.path.join(root, file)  
            dst_file = os.path.join(dst_root, file)  
            try:
                # 只处理文本文件（可以根据需要调整扩展名）  
                with open(src_file, 'r', encoding='utf-8') as f:  
                    content = f.read()  

                # 替换文本内容  
                new_content = content.replace(replace_from, replace_to)  

                # 将修改后的内容写入到目标文件  
                with open(dst_file, 'w', encoding='utf-8') as f:  
                    f.write(new_content)  
            except: 
                with open(src_file, 'rb') as f:  
                    content = f.read()  
                # 将修改后的内容写入到目标文件  
                with open(dst_file, 'wb') as f:  
                    f.write(content)  

  
# 示例用法  
src_directory = r'E:\my\easy_edit\_web\vue_template_store\a1\a0\a2\a0\history\a0'  # 源目录路径  
dst_directory = r'C:\Users\Administrator\Desktop\tte'  # 目标目录路径  
replace_from = 'a_1_0_2_0_0'  # 要替换的文本  
replace_to = 'temp__ea'  # 替换后的文本  
  
replace_text_in_files(src_directory, dst_directory, replace_from, replace_to)